vb>>> a1b 转换成a=12 1=31 b=23 c=24 2=14 d=41...

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:33:49
在TEXT1输入3个字符,可能是a1b、ca2、1ad、2ac...等等..(关键在于这里,3个字符是随机的,可能出现的组合有很多。。。
现在要做的就是把text1里面的三个字符转换成我说的那样,
如题。a替换为12...b替换成23...c替换成24...2替换成14
比如我在TEXT1输入alb则输出123123。。。 ca2则输出241214。。。
1ad则输出311241。。。 2ac则输出141224。。。
请问如何实现。。。回答好的,详细的加分,真的!!!
我编的代码失败在于这里,希望大家不要犯跟我一样低级的错误
1)将text1里面的a1b的a替换成12'这时text1=121b
2)将text1里面的a1b的1替换成31。。。’这时替换的就不是a1b而是121b
.............
实在想不出什么好办法,望高手指点

实现的方法很多,下面随便给出一种用结构体实现的方法:

Private Type MyDict '定义一个源字符与目的字符的结构体
Src As String '源字符,如“a”
Dest As String '转换后的目的字符,如"12"
End Type

Private Function Convert(s As String) As String

'函数说明:
'参数s,是需要转换的源字符串,如a1b
'返回值:转换后的字符串,如123123
'注:函数本身不限制源字符串长度

Dim MyDictList(5) As MyDict '用于存储转换规则的数组,可根据具体要求修改数组大小
Dim i, j As Integer '循环变量
Dim TempRes As String '用于存储临时结果的临时变量
TempRes = ""
Convert = ""

'开始定义详细的转换规则
MyDictList(0).Src = "a"
MyDictList(0).Dest = "12"

MyDictList(1).Src = "1"
MyDictList(1).Dest = "31"

MyDictList(2).Src = "b"
MyDictList(2).Dest = "23"

MyDictList(3).Src = "c"
MyDictList(3).D